#pragma once

#include "common.h"
#include "version.h"

#include "TSingleton.h"

#include "Sys.h"
#include "FileSystem.h"
#include "RenderMgr.h"
#include "Timer.h"

//Main function class for engine.
class Engine : public TSingleton<Engine> 
{
	friend TSingleton<Engine>;

public:
	void Start();
	void Shutdown();
	void Update();

	//Proccesing system messages
	LRESULT EngMsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);

private:
	/*----------*/
	Engine(void) {};
	Engine(const Engine& v) {};
	~Engine(void) {};
	/*----------*/

	Timer engineTimer;
};

